Strand 3: IT Systems

Unit 3.11

Creation of inference engine, inference rule (if then rules), chaining, suitable domains for expert systems


Inference engine

An inference engine is a computer program that tries to find answers from a knowledge base. It is essentially the brain of an expert system and its purpose to find new conclusions by using logical reasoning. Inference engines are special types of reasoning engines which uses more general types of reasoning.

Inference Rule

An inference rule is a rule or function which takes an idea and then returns to a conclusion based on this idea.



Chaining
Forward Chaining
Forward chaining is one of the two main methods of reasoning when using inference rules. Forward chaining starts with the available data and uses inference rules to extract more data from the end user until a goal is reached. An inference engine using forward chaining searches the inference rules until it finds one where the antecedent (If rule) is true. When this has been found it can deduce the consequent (Then rule) resulting in the addition of new information to its data.

Backward Chaining

Backward chaining is the other of the two methods used for reasoning when using inference rules. An inference engine that uses backward chaining would search the inference rules until it finds one which has a consequent (Then rule) that matched the desired goal. If the antecendent (If rule) of that rule is not known to be true then it's added to the list of goals. To prove the goals to be true one of the rules must also provide data that confirms the rules.

Here is an example of chaining, the point of this exapmle is to find the colour of the pet.
  1. If X croaks and eats flies - Then X is a frog
  2. If X chirps and sings - Then X is a canary
  3. If X is a frog - Then X is green
  4. If X is a canary - Then X is yellow